CCS356 Object Oriented Software Engineering Syllabus - Anna University
Explore the Anna University CCS356 Object Oriented Software Engineering syllabus under Regulation 2021.
CCS356 OBJECT ORIENTED SOFTWARE ENGINEERING
L T P C: 3 0 2 4
COURSE OBJECTIVES:
- To understand Software Engineering Lifecycle Models
- To Perform software requirements analysis
- To gain knowledge of the System Analysis and Design concepts using UML.
- To understand software testing and maintenance approaches
- To work on project management scheduling using DevOps
UNIT I SOFTWARE PROCESS AND AGILE DEVELOPMENT
Introduction to Software Engineering, Software Process, Perspective and Specialized Process Models - Introduction to Agility-Agile process-Extreme programming-XP Process-Case Study.
UNIT II REQUIREMENTS ANALYSIS AND SPECIFICATION
Requirement analysis and specification - Requirements gathering and analysis - Software Requirement Specification - Formal system specification - Finite State Machines - Petrinets - Object modelling using UML - Use case Model - Class diagrams - Interaction diagrams - Activity diagrams - State chart diagrams - Functional modelling - Data Flow Diagram- CASE TOOLS.
UNIT III SOFTWARE DESIGN
Software design - Design process - Design concepts - Coupling - Cohesion - Functional independence - Design patterns - Model-view-controller - Publish-subscribe - Adapter - Command - Strategy - Observer - Proxy - Facade - Architectural styles - Layered - Client Server - Tiered - Pipe and filter- User interface design-Case Study.
UNIT IV SOFTWARE TESTING AND MAINTENANCE
Testing - Unit testing - Black box testing- White box testing - Integration and System testing- Regression testing - Debugging - Program analysis - Symbolic execution - Model Checking-Case Study
UNIT V PROJECT MANAGEMENT
Software Project Management- Software Configuration Management - Project Scheduling- DevOps: Motivation-Cloud as a platform-Operations- Deployment Pipeline:Overall Architecture Building and Testing-Deployment- Tools- Case Study
COURSE OUTCOMES:
- CO1: Compare various Software Development Lifecycle Models
- CO2: Evaluate project management approaches as well as cost and schedule estimation strategies.
- CO3: Perform formal analysis on specifications.
- CO4: Use UML diagrams for analysis and design.
- CO5: Architect and design using architectural styles and design patterns, and test the system
45 PERIODS
PRACTICAL EXERCISES: 30 PERIODS
LIST OF EXPERIMENTS:
- Identify a software system that needs to be developed.
- Document the Software Requirements Specification (SRS) for the identified system.
- Identify use cases and develop the Use Case model.
- Identify the conceptual classes and develop a Domain Model and also derive a Class Diagram from that.
- Using the identified scenarios, find the interaction between objects and represent them using UML Sequence and Collaboration Diagrams
- Draw relevant State Chart and Activity Diagrams for the same system.
- Implement the system as per the detailed design
- Test the software system for all the scenarios identified as per the usecase diagram
- Improve the reusability and maintainability of the software system by applying appropriate design patterns.
- Implement the modified system and test it for various scenarios.
SUGGESTED DOMAINS FOR MINI-PROJECT:
- Passport automation system.
- Book bank
- Exam registration
- Stock maintenance system.
- Online course reservation system
- Airline/Railway reservation system
- Software personnel management system
- Credit card processing
- e-book management system
- Recruitment system
- Foreign trading system
- Conference management system
- BPO management system
- Library management system
- Student information system
TOTAL:75 PERIODS
TEXT BOOKS
- Bernd Bruegge and Allen H. Dutoit, "Object-Oriented Software Engineering: Using UML, Patterns and Java", Third Edition, Pearson Education, 2009.
- Roger S. Pressman, Object-Oriented Software Engineering: An Agile Unified Methodology, First Edition, Mc Graw-Hill International Edition, 2014.
REFERENCES
- Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli, Fundamentals of Software Engineering, 2nd edition, PHI Learning Pvt. Ltd., 2010.
- Craig Larman, Applying UML and Patterns, 3rd ed, Pearson Education, 2005.
- Len Bass, Ingo Weber and Liming Zhu, "DevOps: A Software Architect's Perspective", Pearson Education, 2016
- Rajib Mall, Fundamentals of Software Engineering, 3rd edition, PHI Learning Pvt. Ltd., 2009.
- Stephen Schach, Object-Oriented and Classical Software Engineering, 8th ed, McGraw-Hill, 2010.